Pack v Accesse
Otázka od: Ludo Fulop
28. 11. 2002 10:52
zdravim, pouzival som JRO pre pack v accesse, fungovalo to bez problemov
ako vsak spravim pack v zaheslovanej databaze? Nemam na mysli globalne heslo
ale "multiuser" databazu s *.mdw suborom
Ludo Fulop
Odpovedá: Erik Salaj
28. 11. 2002 22:33
> zdravim, pouzival som JRO pre pack v accesse, fungovalo to bez problemov
> ako vsak spravim pack v zaheslovanej databaze? Nemam na mysli globalne
heslo
> ale "multiuser" databazu s *.mdw suborom
neskusal som to, ale mohlo by to fungovat pomocou
"Jet OLEDB: System
database",
"User Name" a "Password" parametrov specifikovanych v connection stringu
Erik
Odpovedá: Jiri Foldyna
29. 11. 2002 10:45
> zdravim, pouzival som JRO pre pack v accesse, fungovalo to
> bez problemov
> ako vsak spravim pack v zaheslovanej databaze? Nemam na mysli
> globalne heslo
> ale "multiuser" databazu s *.mdw suborom
Ahoj,
delam to takto:
DataBaseName...uplna cesta k souboru MDB
SysDBName...uplna cesta k souboru MDW
(**********************************************************************)
(* CompactDatabase *)
(**********************************************************************)
procedure CompactDatabase;
const
TCSA = 'Provider=Microsoft.Jet.OLEDB.4.0;Password=MojeHeslo;';
TCSB = 'User ID=Program;Data Source=';
TCSD = ';Jet OLEDB:System database=';
TCSE = ';Jet OLEDB:Engine Type=4';
var
JE : JetEngine;
sn : WideString;
so : WideString;
Ts : string;
OK : boolean;
begin
OK := true;
Ts := ExtractFilePath(DataBaseName) + 'TEMP.MDB';
try
JE := JRO.CoJetEngine.Create;
so := TCSA + TCSB + DataBaseName + TCSD + SysDBName + TCSE;
sn := TCSA + TCSB + Ts + TCSD + SysDBName + TCSE;
JE.CompactDatabase(so, sn);
except
OK := false;
end;
if OK then
begin
DeleteFile(DataBaseName);
MoveFile(PChar(Ts), PChar(DataBaseName));
end;
end;
Zdravim
Jiri Foldyna
mailto:jiri.f@avizo.cz